package com.xiran.todoself.Interceptor;

import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.RestControllerAdvice;

import java.util.HashMap;
import java.util.Map;

// 全局异常处理，作用于所有 @Controller 或 @RestController
@RestControllerAdvice
@Slf4j
public class GlobalExceptionHandler {

    // 捕获 RuntimeException 及其子类

    @ExceptionHandler(RuntimeException.class)
    public Map<String, Object> handleRuntimeException(RuntimeException e) {
        log.info("进入全局异常管理器啦" + e.getMessage());
        Map<String, Object> result = new HashMap<>();
        // 状态码：400（客户端错误，如用户名已存在）
        result.put("code", 400001);
        // 异常信息（如"用户名已存在"）
        result.put("message", e.getMessage());
        // 成功标识
        result.put("success", false);
        return result;
    }
}